<?php

class emailAlert extends Object{
          
    public function alertar($assunto, $corpo, $destinatarios, $url, $email_remetente){
        $this->LoadResource("email", 'mail');
        $this->LoadModel('usuario/login', 'uobj');
        $remetente = $this->uobj->getItem($email_remetente, 'email');
        $nick      = $this->uobj->getUserNick($remetente);
        $destinatarios = $this->formatDestinatarios($destinatarios);
        if(empty($destinatarios)) {
            $this->setAlertMessage('Nenhum destinatário foi selecionado');
            return true;
        }
        if(!$this->mail->sendMail($assunto, $corpo, $email_remetente, $destinatarios, $nick)){
            $this->setErrorMessage($this->mail->getErrorMessage());
            if(DEBUG && isset($_REQUEST['ajax'])) {
                $erro['erro'] = $this->mail->getErrorMessage();
                $erro['status'] = '0';
                die(json_encode($erro));
            }
            return false;
        }
        return true;
    }
    
    private function formatDestinatarios($destinatarios){
        if(empty($destinatarios)) return $destinatarios;
        $out = array();
        foreach($destinatarios as $dest){
            if(!is_array($dest) || empty($dest)) continue;
            if(!array_key_exists('cod_usuario', $dest) || !array_key_exists('cod_usuario', $dest)){
                $this->setAlertMessage('Alguns usuários não foram notificados pois os emails deles não foram encontrados');
                continue;
            }
            $out[$dest['cod_usuario']] = $dest['email'];
        }
        return $out;
    }
    
    
}

?>